home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 2: CDPD 1 / Almathera Ten on Ten - Disc 2: CDPD 1.iso / pd / 651-660 / 658 / skew / source / skew1.c < prev    next >
C/C++ Source or Header  |  1995-03-15  |  44KB  |  1,403 lines

  1.  
  2. /*
  3.  *  skew1.c
  4.  *
  5.  *  PROGRAM NAME:       SKEW    ( meaning "SKEleton Writer" )
  6.  *
  7.  *  VERSION:            0.85
  8.  *
  9.  *  FINISHED:           11-Mar-92
  10.  *
  11.  *  PURPOSE:            Utility for generating GetIDCMP() functions & Co.
  12.  *
  13.  *  PROGRAMMER:         Piotr Obminski
  14.  *
  15.  *  LEGAL STATUS:       Public Domain
  16.  *
  17.  *  COMPILER:           DICE V2.06
  18.  *
  19.  *  COMPILATION:        dmake -f skew.make
  20.  *
  21.  *  COMMENTS:           My first biggish Amiga C project...
  22.  *
  23.  *  HISTORY:            See file skew.history
  24.  */
  25.  
  26. #include <clib/exec_protos.h>
  27. #include <clib/intuition_protos.h>
  28. #include <clib/gadtools_protos.h>
  29. #include <exec/types.h>
  30. #include <intuition/intuition.h>
  31. #include <intuition/gadgetclass.h>
  32. #include <libraries/gadtools.h>
  33. #include <graphics/displayinfo.h>
  34.  
  35. #include "skew.h"
  36. #include "image.h"
  37.  
  38. APTR    GadToolsBase    = NULL;
  39. APTR    AslBase         = NULL;
  40. struct  Window  *Wnd    = NULL;
  41. struct  Screen  *Scr    = NULL;
  42. APTR    VisualInfo      = NULL;
  43.  
  44. struct TextAttr topaz8 = {
  45.     ( STRPTR )"topaz.font", 8, 0x00, 0x01 };
  46.  
  47. /* Colors1 -- white coffe, black, white & red */
  48. struct ColorSpec  ScreenColors[] = {
  49.      0, 0x0B, 0x0A, 0x09,
  50.      1, 0x00, 0x00, 0x02,
  51.      2, 0x0F, 0x0F, 0x0F,
  52.      3, 0x09, 0x01, 0x00,
  53.     ~0, 0x00, 0x00, 0x00 };
  54.  
  55. UWORD             DriPens[] = {
  56.     0,1,1,2,1,3,1,0,2,~0 };
  57.  
  58. struct TagItem    ScreenTags_PAL[] = {
  59.     SA_Left,          0,
  60.     SA_Top,           0,
  61.     SA_Width,         640,
  62.     SA_Height,        256,
  63.     SA_Depth,         2,
  64.     SA_Colors,        ScreenColors,
  65.     SA_Font,          &topaz8,
  66.     SA_Type,          CUSTOMSCREEN,
  67.     SA_DisplayID,     PAL_MONITOR_ID | HIRES_KEY,
  68.     SA_Pens,          DriPens,
  69.     TAG_DONE };
  70.  
  71. /* what a waste! */
  72. struct TagItem    ScreenTags_NTSC[] = {
  73.     SA_Left,          0,
  74.     SA_Top,           0,
  75.     SA_Width,         640,
  76.     SA_Height,        256,
  77.     SA_Depth,         2,
  78.     SA_Colors,        ScreenColors,
  79.     SA_Font,          &topaz8,
  80.     SA_Type,          CUSTOMSCREEN,
  81.     SA_DisplayID,     NTSC_MONITOR_ID | HIRESLACE_KEY,
  82.     SA_Pens,          DriPens,
  83.     TAG_DONE };
  84.  
  85. struct TagItem    WindowTags[] = {
  86.     WA_Left,          2,
  87.     WA_Top,           10,
  88.     WA_Width,         637,
  89.     WA_Height,        246,
  90.     WA_IDCMP,         IDCMP_GADGETDOWN | IDCMP_GADGETUP |
  91.                       IDCMP_REFRESHWINDOW | IDCMP_MENUPICK,
  92.     WA_Flags,         WFLG_SMART_REFRESH | WFLG_ACTIVATE | WFLG_RMBTRAP |
  93.                       WFLG_BACKDROP,
  94.     WA_Gadgets,       0L,
  95.     WA_Title,         NULL,
  96.     WA_ScreenTitle,
  97.         "SKEleton Writer    Public Domain    by Piotr Obminski    March 1992",
  98.     WA_CustomScreen,  0L,
  99.     WA_MinWidth,      637,
  100.     WA_MinHeight,     1,
  101.     WA_MaxWidth,      637,
  102.     WA_MaxHeight,     246,
  103.     TAG_DONE };
  104.  
  105. struct IntuiText  IText1[]= {
  106.     3, 0, JAM2, 588, 12, &topaz8, (UBYTE *)"1/3", &IText1[1],
  107.     3, 0, JAM1, 60, 135, &topaz8, (UBYTE *)"Fields in IntuiMessage:", NULL };
  108.  
  109. struct IntuiText  IText2[] = {
  110.     3, 0, JAM2, 588, 12, &topaz8, (UBYTE *)"2/3", &IText2[1],
  111.     3, 0, JAM1, 80, 20, &topaz8, (UBYTE *)"Class:", NULL };
  112.  
  113.  
  114. struct IntuiText  IText3[] = {
  115.     3, 0, JAM2, 588, 12, &topaz8, (UBYTE *)"3/3", &IText3[1],
  116.     3, 0, JAM1, 60, 20, &topaz8, (UBYTE *)"Global options:", NULL };
  117.  
  118. /* stuff related to displaying program's logo */
  119. extern UWORD Title_data[];
  120.  
  121. /* IMAGE STRUCTURE */
  122. struct Image Title = {
  123.    0, 0, 477, 40, 2, &Title_data[0], 2, 0, NULL };
  124.  
  125.  
  126. int Display_num;
  127.  
  128.  
  129. /* stuff for top-level function name */
  130. char *TOP_LEVEL_BUF;
  131. char TOP_LEVEL_NAME[ 40 ] = "GetIDCMP";
  132.  
  133. /* stuff for IDCMPWindow name */
  134. char *IDCMP_WIN_BUF;
  135. char IDCMP_WIN_NAME[ 40 ] = "Wnd";
  136.  
  137. /* prefix & suffix for the names of the generated functions */
  138. char *PREFIX_BUF, *SUFFIX_BUF;
  139. char PREFIX_NAME[ 20 ], SUFFIX_NAME[ 20 ];
  140.  
  141. extern struct Gadget *GList;
  142. extern struct Gadget *Gadgets[];
  143.  
  144. /* flags related to gadgets & output file */
  145. extern long Flag1;
  146. extern long Flag2A;
  147. extern long Flag2B;
  148. extern long Flag3;
  149.  
  150. /* flags for cycle gadgets on display #3 */
  151. extern int WaitingMode_FLAG, Variables_FLAG, Comments_FLAG, FillIns_FLAG,
  152.             WaitingMode_START, Variables_START, Comments_START, FillIns_START;
  153.  
  154.  
  155.  
  156. /* stuff needed for cycle gadgets in last (third) display */
  157. UBYTE *WaitingModeLabels0[] = {
  158.     "passive",
  159.     "busy",
  160.     0L };
  161.  
  162. UBYTE *WaitingModeLabels1[] = {
  163.     "busy",
  164.     "passive",
  165.     0L };
  166.  
  167.  
  168. UBYTE *VariablesLabels0[] = {
  169.     "global",
  170.     "local",
  171.     0L };
  172.  
  173. UBYTE *VariablesLabels1[] = {
  174.     "local",
  175.     "global",
  176.     0L };
  177.  
  178.  
  179. UBYTE *CommentsLabels0[] = {
  180.     "sparse",
  181.     "NONE",
  182.     "verbose",
  183.     0L };
  184.  
  185. UBYTE *CommentsLabels1[] = {
  186.     "NONE",
  187.     "verbose",
  188.     "sparse",
  189.     0L };
  190.  
  191. UBYTE *CommentsLabels2[] = {
  192.     "verbose",
  193.     "sparse",
  194.     "NONE",
  195.     0L };
  196.  
  197.  
  198. UBYTE *FillInsLabels0[] = {
  199.     "NOT MARKED",
  200.     "@@@@@@@@@@",
  201.     "/* @@ */",
  202.     "@@",
  203.     0L };
  204.  
  205. UBYTE *FillInsLabels1[] = {
  206.     "@@@@@@@@@@",
  207.     "/* @@ */",
  208.     "@@",
  209.     "NOT MARKED",
  210.     0L };
  211.  
  212. UBYTE *FillInsLabels2[] = {
  213.     "/* @@ */",
  214.     "@@",
  215.     "NOT MARKED",
  216.     "@@@@@@@@@@",
  217.     0L };
  218.  
  219. UBYTE *FillInsLabels3[] = {
  220.     "@@",
  221.     "NOT MARKED",
  222.     "@@@@@@@@@@",
  223.     "/* @@ */",
  224.     0L };
  225.  
  226. /*  function prototypes  */
  227. void main( void );
  228. static long InitStuff( void );
  229. static long MakeWindow( void );
  230. void CleanStuff( void );
  231. long MakeDisplay( int num );
  232.  
  233. extern void HandleIDCMP( void );
  234. extern void HandleGadgets( USHORT, APTR );
  235.  
  236. void main( void )
  237. {
  238.     if ( InitStuff() != 0L ) {
  239.         exit( 25 );
  240.     };
  241.  
  242.     HandleIDCMP();
  243.  
  244.     CleanStuff();
  245. }
  246.  
  247.  
  248. long InitStuff( void )
  249. {
  250.     GadToolsBase = (APTR) OpenLibrary( "gadtools.library", 0 );
  251.  
  252.     if ( GadToolsBase == NULL ) {
  253.         puts( "Sorry, you need gadtools.library!" );
  254.         return( 10L );
  255.     }
  256.  
  257.     AslBase = (APTR) OpenLibrary( "asl.library", 0 );
  258.  
  259.     if ( AslBase == NULL ) {
  260.         puts( "Sorry, you need asl.library!" );
  261.         return( 8l );
  262.     }
  263.  
  264.     if ( !( Scr = OpenScreenTagList( 0L, ScreenTags_PAL ))) {
  265.         if ( !( Scr = OpenScreenTagList( 0L, ScreenTags_NTSC )))
  266.             return( 5L );
  267.     }
  268.  
  269.     if ( MakeWindow() != 0L ) {
  270.         return( 1l );
  271.     }
  272. }
  273.  
  274.  
  275. long MakeWindow( void )
  276. {
  277.     WindowTags[ 9 ].ti_Data = Scr;
  278.     
  279.     if ( NOT( Wnd = OpenWindowTagList( 0L, WindowTags )))
  280.         return( 5l );
  281.         
  282.     MakeDisplay( 0 );
  283.     
  284.     RefreshGList( GList, Wnd, NULL, -1 );
  285.     GT_RefreshWindow( Wnd, NULL );
  286. }
  287.  
  288.  
  289. long MakeDisplay( int Display_num )
  290. {
  291.     struct  NewGadget     ng;
  292.     struct  Gadget       *g;
  293.     BOOL    check_flag;
  294.     UBYTE   *temp_ptr;
  295.  
  296.     TOP_LEVEL_BUF = &TOP_LEVEL_NAME[ 0 ];
  297.     IDCMP_WIN_BUF = &IDCMP_WIN_NAME[ 0 ];
  298.  
  299.     PREFIX_BUF = &PREFIX_NAME[ 0 ];
  300.     SUFFIX_BUF = &SUFFIX_NAME[ 0 ];
  301.     
  302.     switch ( Display_num ) {
  303.  
  304.         /*  making window #0 */
  305.         case 0 :
  306.  
  307.             if ( NOT( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
  308.                 return( 2l );
  309.  
  310.             if ( NOT( g = CreateContext( &GList )))
  311.                 return( 3l );
  312.  
  313.             ng.ng_LeftEdge        =    208;
  314.             ng.ng_TopEdge         =    104;
  315.             ng.ng_Width           =    208;
  316.             ng.ng_Height          =    16;
  317.             ng.ng_GadgetText      =    "IDCMPWindow";
  318.             ng.ng_TextAttr        =    &topaz8;
  319.             ng.ng_GadgetID        =    GD_IDCMPWindow;
  320.             ng.ng_Flags           =    PLACETEXT_ABOVE;
  321.             ng.ng_VisualInfo      =    VisualInfo;
  322.  
  323.             g = CreateGadget( STRING_KIND, g, &ng,
  324.                     GTST_String, IDCMP_WIN_NAME, GTST_MaxChars, 40, TAG_DONE );
  325.  
  326.             IDCMP_WIN_BUF = ((struct StringInfo *) g->SpecialInfo)->Buffer;
  327.  
  328.             Gadgets[ 0 ] = g;
  329.  
  330.             ng.ng_LeftEdge        =    184;
  331.             ng.ng_TopEdge         =    150;
  332.             ng.ng_GadgetText      =    "Class";
  333.             ng.ng_GadgetID        =    GD_Code;
  334.             ng.ng_Flags           =    PLACETEXT_LEFT;
  335.  
  336.             check_flag = (Flag1 & CLASS_FLAG) ? TRUE : FALSE;
  337.  
  338.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  339.                             check_flag, TAG_DONE );
  340.  
  341.             Gadgets[ 1 ] = g;
  342.  
  343.             ng.ng_TopEdge         =    170;
  344.             ng.ng_GadgetText      =    "Code";
  345.             ng.ng_GadgetID        =    GD_Code;
  346.             ng.ng_Flags           =    PLACETEXT_LEFT;
  347.  
  348.             check_flag = (Flag1 & CODE_FLAG) ? TRUE : FALSE;
  349.  
  350.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  351.                             check_flag, TAG_DONE );
  352.  
  353.             Gadgets[ 2 ] = g;
  354.  
  355.             ng.ng_TopEdge         =    190;
  356.             ng.ng_GadgetText      =    "Qualifier";
  357.             ng.ng_GadgetID        =    GD_Qualifier;
  358.             ng.ng_Flags           =    PLACETEXT_LEFT;
  359.  
  360.             check_flag = (Flag1 & QUALIFIER_FLAG) ? TRUE : FALSE;
  361.  
  362.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  363.                             check_flag, TAG_DONE );
  364.  
  365.             Gadgets[ 3 ] = g;
  366.  
  367.             ng.ng_LeftEdge        =    386;
  368.             ng.ng_TopEdge         =    150;
  369.             ng.ng_GadgetText      =    "MouseX";
  370.             ng.ng_GadgetID        =    GD_MouseX;
  371.             ng.ng_Flags           =    PLACETEXT_LEFT;
  372.  
  373.             check_flag = (Flag1 & MOUSEX_FLAG) ? TRUE : FALSE;
  374.  
  375.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  376.                             check_flag, TAG_DONE );
  377.  
  378.             Gadgets[ 4 ] = g;
  379.  
  380.             ng.ng_LeftEdge        =    501;
  381.             ng.ng_GadgetText      =    "MouseY";
  382.             ng.ng_GadgetID        =    GD_MouseY;
  383.             ng.ng_Flags           =    PLACETEXT_LEFT;
  384.  
  385.             check_flag = (Flag1 & MOUSEY_FLAG) ? TRUE : FALSE;
  386.  
  387.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  388.                             check_flag, TAG_DONE );
  389.  
  390.             Gadgets[ 5 ] = g;
  391.  
  392.             ng.ng_LeftEdge        =    386;
  393.             ng.ng_TopEdge         =    170;
  394.             ng.ng_GadgetText      =    "Seconds";
  395.             ng.ng_GadgetID        =    GD_Seconds;
  396.             ng.ng_Flags           =    PLACETEXT_LEFT;
  397.  
  398.             check_flag = (Flag1 & SECONDS_FLAG) ? TRUE : FALSE;
  399.  
  400.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  401.                             check_flag, TAG_DONE );
  402.  
  403.             Gadgets[ 6 ] = g;
  404.  
  405.             ng.ng_LeftEdge        =    501;
  406.             ng.ng_GadgetText      =    "Micros";
  407.             ng.ng_GadgetID        =    GD_Micros;
  408.             ng.ng_Flags           =    PLACETEXT_LEFT;
  409.  
  410.             check_flag = (Flag1 & MICROS_FLAG) ? TRUE : FALSE;
  411.  
  412.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  413.                             check_flag, TAG_DONE );
  414.  
  415.             Gadgets[ 7 ] = g;
  416.  
  417.             ng.ng_LeftEdge        =    470;
  418.             ng.ng_TopEdge         =    190;
  419.             ng.ng_GadgetText      =    "IAddress";
  420.             ng.ng_GadgetID        =    GD_IAddress;
  421.             ng.ng_Flags           =    PLACETEXT_LEFT;
  422.  
  423.             check_flag = (Flag1 & IADDRESS_FLAG) ? TRUE : FALSE;
  424.  
  425.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  426.                             check_flag, TAG_DONE );
  427.  
  428.             Gadgets[ 8 ] = g;
  429.  
  430.             ng.ng_LeftEdge        =    80;
  431.             ng.ng_TopEdge         =    222;
  432.             ng.ng_Width           =    100;
  433.             ng.ng_Height          =    18;
  434.             ng.ng_GadgetText      =    "QUIT";
  435.             ng.ng_GadgetID        =    GD_QUIT1;
  436.             ng.ng_Flags           =    PLACETEXT_IN;
  437.  
  438.             g = CreateGadget( BUTTON_KIND, g, &ng, TAG_DONE );
  439.  
  440.             Gadgets[ 9 ] = g;
  441.  
  442.             ng.ng_LeftEdge        =    460;
  443.             ng.ng_TopEdge         =    222;
  444.             ng.ng_GadgetText      =    "GO ON";
  445.             ng.ng_GadgetID        =    GD_GO_ON1;
  446.             ng.ng_Flags           =    PLACETEXT_IN;
  447.  
  448.             g = CreateGadget( BUTTON_KIND, g, &ng, TAG_DONE );
  449.  
  450.             Gadgets[ 10 ] = g;
  451.  
  452.             if ( NOT g )
  453.                 return( 4l );
  454.  
  455.             AddGList( Wnd, GList, 0, -1, NULL );
  456.             
  457.             Gadgets[ 11 ] = 0;
  458.             
  459.             PrintIText( Wnd->RPort, IText1, 0L, 0L );
  460.  
  461.             DrawImage( Wnd->RPort, &Title, 76L, 30L );
  462.  
  463.             break;
  464.  
  465.         /*  making window #1  */
  466.         case 1 :
  467.             if ( NOT( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
  468.                 return( 2l );
  469.  
  470.             if ( NOT( g = CreateContext( &GList )))
  471.                 return( 3l );
  472.                 
  473.             ng.ng_LeftEdge        =    138;
  474.             ng.ng_TopEdge         =    33;
  475.             ng.ng_GadgetText      =    "MOUSEBUTTONS";
  476.             ng.ng_TextAttr        =    &topaz8;
  477.             ng.ng_GadgetID        =    GD_MOUSEBUTTONS;
  478.             ng.ng_Flags           =    PLACETEXT_LEFT;
  479.             ng.ng_VisualInfo      =    VisualInfo;
  480.  
  481.             check_flag = (Flag2A & MOUSEBUTTONS_FLAG) ? TRUE : FALSE;
  482.  
  483.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  484.                             check_flag, TAG_DONE );
  485.  
  486.             Gadgets[ 0 ] = g;
  487.  
  488.             ng.ng_LeftEdge        =    166;
  489.             ng.ng_GadgetText      =    "F";
  490.             ng.ng_GadgetID        =    GD_MOUSEBUTTONS_F;
  491.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  492.  
  493.             check_flag = (Flag2A & MOUSEBUTTONS_F_FLAG) ? TRUE : FALSE;
  494.  
  495.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  496.                             check_flag, TAG_DONE );
  497.  
  498.             Gadgets[ 1 ] = g;
  499.  
  500.             ng.ng_LeftEdge        =    138;
  501.             ng.ng_TopEdge         =    45;
  502.             ng.ng_GadgetText      =    "MOUSEMOVE";
  503.             ng.ng_GadgetID        =    GD_MOUSEMOVE;
  504.             ng.ng_Flags           =    PLACETEXT_LEFT;
  505.  
  506.             check_flag = (Flag2A & MOUSEMOVE_FLAG) ? TRUE : FALSE;
  507.  
  508.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  509.                             check_flag, TAG_DONE );
  510.  
  511.             Gadgets[ 2 ] = g;
  512.  
  513.             ng.ng_LeftEdge        =    166;
  514.             ng.ng_GadgetText      =    "F";
  515.             ng.ng_GadgetID        =    GD_MOUSEMOVE_F;
  516.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  517.  
  518.             check_flag = (Flag2A & MOUSEMOVE_F_FLAG) ? TRUE : FALSE;
  519.  
  520.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  521.                             check_flag, TAG_DONE );
  522.  
  523.             Gadgets[ 3 ] = g;
  524.  
  525.             ng.ng_LeftEdge        =    138;
  526.             ng.ng_TopEdge         =    57;
  527.             ng.ng_GadgetText      =    "DELTAMOVE";
  528.             ng.ng_GadgetID        =    GD_DELTAMOVE;
  529.             ng.ng_Flags           =    PLACETEXT_LEFT;
  530.  
  531.             check_flag = (Flag2A & DELTAMOVE_FLAG) ? TRUE : FALSE;
  532.  
  533.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  534.                             check_flag, TAG_DONE );
  535.  
  536.             Gadgets[ 4 ] = g;
  537.  
  538.             ng.ng_LeftEdge        =    166;
  539.             ng.ng_GadgetText      =    "F";
  540.             ng.ng_GadgetID        =    GD_DELTAMOVE_F;
  541.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  542.  
  543.             check_flag = (Flag2A & DELTAMOVE_F_FLAG) ? TRUE : FALSE;
  544.  
  545.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  546.                             check_flag, TAG_DONE );
  547.  
  548.             Gadgets[ 5 ] = g;
  549.  
  550.             ng.ng_LeftEdge        =    138;
  551.             ng.ng_TopEdge         =    77;
  552.             ng.ng_GadgetText      =    "GADGETDOWN";
  553.             ng.ng_GadgetID        =    GD_GADGETDOWN;
  554.             ng.ng_Flags           =    PLACETEXT_LEFT;
  555.  
  556.             check_flag = (Flag2A & GADGETDOWN_FLAG) ? TRUE : FALSE;
  557.  
  558.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  559.                             check_flag, TAG_DONE );
  560.  
  561.             Gadgets[ 6 ] = g;
  562.  
  563.             ng.ng_LeftEdge        =    166;
  564.             ng.ng_GadgetText      =    "F";
  565.             ng.ng_GadgetID        =    GD_GADGETDOWN_F;
  566.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  567.  
  568.             check_flag = (Flag2A & GADGETDOWN_F_FLAG) ? TRUE : FALSE;
  569.  
  570.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  571.                             check_flag, TAG_DONE );
  572.  
  573.             Gadgets[ 7 ] = g;
  574.  
  575.             ng.ng_LeftEdge        =    138;
  576.             ng.ng_TopEdge         =    89;
  577.             ng.ng_GadgetText      =    "GADGETUP";
  578.             ng.ng_GadgetID        =    GD_GADGETUP;
  579.             ng.ng_Flags           =    PLACETEXT_LEFT;
  580.  
  581.             check_flag = (Flag2A & GADGETUP_FLAG) ? TRUE : FALSE;
  582.  
  583.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  584.                             check_flag, TAG_DONE );
  585.  
  586.             Gadgets[ 8 ] = g;
  587.  
  588.             ng.ng_LeftEdge        =    166;
  589.             ng.ng_GadgetText      =    "F";
  590.             ng.ng_GadgetID        =    GD_GADGETUP_F;
  591.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  592.  
  593.             check_flag = (Flag2A & GADGETUP_F_FLAG) ? TRUE : FALSE;
  594.  
  595.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  596.                             check_flag, TAG_DONE );
  597.  
  598.             Gadgets[ 9 ] = g;
  599.  
  600.             ng.ng_LeftEdge        =    138;
  601.             ng.ng_TopEdge         =    101;
  602.             ng.ng_GadgetText      =    "CLOSEWINDOW";
  603.             ng.ng_GadgetID        =    GD_CLOSEWINDOW;
  604.             ng.ng_Flags           =    PLACETEXT_LEFT;
  605.  
  606.             check_flag = (Flag2A & CLOSEWINDOW_FLAG) ? TRUE : FALSE;
  607.  
  608.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  609.                             check_flag, TAG_DONE );
  610.  
  611.             Gadgets[ 10 ] = g;
  612.  
  613.             ng.ng_LeftEdge        =    166;
  614.             ng.ng_GadgetText      =    "F";
  615.             ng.ng_GadgetID        =    GD_CLOSEWINDOW_F;
  616.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  617.  
  618.             check_flag = (Flag2A & CLOSEWINDOW_F_FLAG) ? TRUE : FALSE;
  619.  
  620.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  621.                             check_flag, TAG_DONE );
  622.  
  623.             Gadgets[ 11 ] = g;
  624.  
  625.             ng.ng_LeftEdge        =    138;
  626.             ng.ng_TopEdge         =    121;
  627.             ng.ng_GadgetText      =    "MENUPICK";
  628.             ng.ng_GadgetID        =    GD_MENUPICK;
  629.             ng.ng_Flags           =    PLACETEXT_LEFT;
  630.  
  631.             check_flag = (Flag2A & MENUPICK_FLAG) ? TRUE : FALSE;
  632.  
  633.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  634.                             check_flag, TAG_DONE );
  635.  
  636.             Gadgets[ 12 ] = g;
  637.  
  638.             ng.ng_LeftEdge        =    166;
  639.             ng.ng_GadgetText      =    "F";
  640.             ng.ng_GadgetID        =    GD_MENUPICK_F;
  641.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  642.  
  643.             check_flag = (Flag2A & MENUPICK_F_FLAG) ? TRUE : FALSE;
  644.  
  645.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  646.                             check_flag, TAG_DONE );
  647.  
  648.             Gadgets[ 13 ] = g;
  649.  
  650.             ng.ng_LeftEdge        =    138;
  651.             ng.ng_TopEdge         =    133;
  652.             ng.ng_GadgetText      =    "MENUVERIFY";
  653.             ng.ng_GadgetID        =    GD_MENUVERIFY;
  654.             ng.ng_Flags           =    PLACETEXT_LEFT;
  655.  
  656.             check_flag = (Flag2A & MENUVERIFY_FLAG) ? TRUE : FALSE;
  657.  
  658.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  659.                             check_flag, TAG_DONE );
  660.  
  661.             Gadgets[ 14 ] = g;
  662.  
  663.             ng.ng_LeftEdge        =    166;
  664.             ng.ng_GadgetText      =    "F";
  665.             ng.ng_GadgetID        =    GD_MENUVERIFY_F;
  666.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  667.  
  668.             check_flag = (Flag2A & MENUVERIFY_F_FLAG) ? TRUE : FALSE;
  669.  
  670.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  671.                             check_flag, TAG_DONE );
  672.  
  673.             Gadgets[ 15 ] = g;
  674.  
  675.             ng.ng_LeftEdge        =    138;
  676.             ng.ng_TopEdge         =    145;
  677.             ng.ng_GadgetText      =    "MENUHELP";
  678.             ng.ng_GadgetID        =    GD_MENUHELP;
  679.             ng.ng_Flags           =    PLACETEXT_LEFT;
  680.  
  681.             check_flag = (Flag2A & MENUHELP_FLAG) ? TRUE : FALSE;
  682.  
  683.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  684.                             check_flag, TAG_DONE );
  685.  
  686.             Gadgets[ 16 ] = g;
  687.  
  688.             ng.ng_LeftEdge        =    166;
  689.             ng.ng_GadgetText      =    "F";
  690.             ng.ng_GadgetID        =    GD_MENUHELP_F;
  691.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  692.  
  693.             check_flag = (Flag2A & MENUHELP_F_FLAG) ? TRUE : FALSE;
  694.  
  695.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  696.                             check_flag, TAG_DONE );
  697.  
  698.             Gadgets[ 17 ] = g;
  699.  
  700.             ng.ng_LeftEdge        =    138;
  701.             ng.ng_TopEdge         =    165;
  702.             ng.ng_GadgetText      =    "RAWKEY";
  703.             ng.ng_GadgetID        =    GD_RAWKEY;
  704.             ng.ng_Flags           =    PLACETEXT_LEFT;
  705.  
  706.             check_flag = (Flag2A & RAWKEY_FLAG) ? TRUE : FALSE;
  707.  
  708.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  709.                             check_flag, TAG_DONE );
  710.  
  711.             Gadgets[ 18 ] = g;
  712.  
  713.             ng.ng_LeftEdge        =    166;
  714.             ng.ng_GadgetText      =    "F";
  715.             ng.ng_GadgetID        =    GD_RAWKEY_F;
  716.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  717.  
  718.             check_flag = (Flag2A & RAWKEY_F_FLAG) ? TRUE : FALSE;
  719.  
  720.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  721.                             check_flag, TAG_DONE );
  722.  
  723.             Gadgets[ 19 ] = g;
  724.  
  725.             ng.ng_LeftEdge        =    138;
  726.             ng.ng_TopEdge         =    177;
  727.             ng.ng_GadgetText      =    "VANILLAKEY";
  728.             ng.ng_GadgetID        =    GD_VANILLAKEY;
  729.             ng.ng_Flags           =    PLACETEXT_LEFT;
  730.  
  731.             check_flag = (Flag2A & VANILLAKEY_FLAG) ? TRUE : FALSE;
  732.  
  733.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  734.                             check_flag, TAG_DONE );
  735.  
  736.             Gadgets[ 20 ] = g;
  737.  
  738.             ng.ng_LeftEdge        =    166;
  739.             ng.ng_GadgetText      =    "F";
  740.             ng.ng_GadgetID        =    GD_VANILLAKEY_F;
  741.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  742.  
  743.             check_flag = (Flag2A & VANILLAKEY_F_FLAG) ? TRUE : FALSE;
  744.  
  745.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  746.                             check_flag, TAG_DONE );
  747.  
  748.             Gadgets[ 21 ] = g;
  749.  
  750.             ng.ng_LeftEdge        =    356;
  751.             ng.ng_TopEdge         =    33;
  752.             ng.ng_GadgetText      =    "REQSET";
  753.             ng.ng_GadgetID        =    GD_REQSET;
  754.             ng.ng_Flags           =    PLACETEXT_LEFT;
  755.  
  756.             check_flag = (Flag2A & REQSET_FLAG) ? TRUE : FALSE;
  757.  
  758.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  759.                             check_flag, TAG_DONE );
  760.  
  761.             Gadgets[ 22 ] = g;
  762.  
  763.             ng.ng_LeftEdge        =    384;
  764.             ng.ng_GadgetText      =    "F";
  765.             ng.ng_GadgetID        =    GD_REQSET_F;
  766.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  767.  
  768.             check_flag = (Flag2A & REQSET_F_FLAG) ? TRUE : FALSE;
  769.  
  770.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  771.                             check_flag, TAG_DONE );
  772.  
  773.             Gadgets[ 23 ] = g;
  774.  
  775.             ng.ng_LeftEdge        =    356;
  776.             ng.ng_TopEdge         =    45;
  777.             ng.ng_GadgetText      =    "REQCLEAR";
  778.             ng.ng_GadgetID        =    GD_REQCLEAR;
  779.             ng.ng_Flags           =    PLACETEXT_LEFT;
  780.  
  781.             check_flag = (Flag2A & REQCLEAR_FLAG) ? TRUE : FALSE;
  782.  
  783.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  784.                             check_flag, TAG_DONE );
  785.  
  786.             Gadgets[ 24 ] = g;
  787.  
  788.             ng.ng_LeftEdge        =    384;
  789.             ng.ng_GadgetText      =    "F";
  790.             ng.ng_GadgetID        =    GD_REQCLEAR_F;
  791.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  792.  
  793.             check_flag = (Flag2A & REQCLEAR_F_FLAG) ? TRUE : FALSE;
  794.  
  795.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  796.                             check_flag, TAG_DONE );
  797.  
  798.             Gadgets[ 25 ] = g;
  799.  
  800.             ng.ng_LeftEdge        =    356;
  801.             ng.ng_TopEdge         =    57;
  802.             ng.ng_GadgetText      =    "REQVERIFY";
  803.             ng.ng_GadgetID        =    GD_REQVERIFY;
  804.             ng.ng_Flags           =    PLACETEXT_LEFT;
  805.  
  806.             check_flag = (Flag2A & REQVERIFY_FLAG) ? TRUE : FALSE;
  807.  
  808.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  809.                             check_flag, TAG_DONE );
  810.  
  811.             Gadgets[ 26 ] = g;
  812.  
  813.             ng.ng_LeftEdge        =    384;
  814.             ng.ng_GadgetText      =    "F";
  815.             ng.ng_GadgetID        =    GD_REQVERIFY_F;
  816.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  817.  
  818.             check_flag = (Flag2A & REQVERIFY_F_FLAG) ? TRUE : FALSE;
  819.  
  820.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  821.                             check_flag, TAG_DONE );
  822.  
  823.             Gadgets[ 27 ] = g;
  824.  
  825.             ng.ng_LeftEdge        =    356;
  826.             ng.ng_TopEdge         =    77;
  827.             ng.ng_GadgetText      =    "NEWSIZE";
  828.             ng.ng_GadgetID        =    GD_NEWSIZE;
  829.             ng.ng_Flags           =    PLACETEXT_LEFT;
  830.  
  831.             check_flag = (Flag2B & NEWSIZE_FLAG) ? TRUE : FALSE;
  832.  
  833.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  834.                             check_flag, TAG_DONE );
  835.  
  836.             Gadgets[ 28 ] = g;
  837.  
  838.             ng.ng_LeftEdge        =    384;
  839.             ng.ng_GadgetText      =    "F";
  840.             ng.ng_GadgetID        =    GD_NEWSIZE_F;
  841.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  842.  
  843.             check_flag = (Flag2B & NEWSIZE_F_FLAG) ? TRUE : FALSE;
  844.  
  845.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  846.                             check_flag, TAG_DONE );
  847.  
  848.             Gadgets[ 29 ] = g;
  849.  
  850.             ng.ng_LeftEdge        =    356;
  851.             ng.ng_TopEdge         =    89;
  852.             ng.ng_GadgetText      =    "SIZEVERIFY";
  853.             ng.ng_GadgetID        =    GD_SIZEVERIFY;
  854.             ng.ng_Flags           =    PLACETEXT_LEFT;
  855.  
  856.             check_flag = (Flag2B & SIZEVERIFY_FLAG) ? TRUE : FALSE;
  857.  
  858.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  859.                             check_flag, TAG_DONE );
  860.  
  861.             Gadgets[ 30 ] = g;
  862.  
  863.             ng.ng_LeftEdge        =    384;
  864.             ng.ng_GadgetText      =    "F";
  865.             ng.ng_GadgetID        =    GD_SIZEVERIFY_F;
  866.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  867.  
  868.             check_flag = (Flag2B & SIZEVERIFY_F_FLAG) ? TRUE : FALSE;
  869.  
  870.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  871.                             check_flag, TAG_DONE );
  872.  
  873.             Gadgets[ 31 ] = g;
  874.  
  875.             ng.ng_LeftEdge        =    356;
  876.             ng.ng_TopEdge         =    101;
  877.             ng.ng_GadgetText      =    "ACTIVEWINDOW";
  878.             ng.ng_GadgetID        =    GD_ACTIVEWINDOW;
  879.             ng.ng_Flags           =    PLACETEXT_LEFT;
  880.  
  881.             check_flag = (Flag2B & ACTIVEWINDOW_FLAG) ? TRUE : FALSE;
  882.  
  883.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  884.                             check_flag, TAG_DONE );
  885.  
  886.             Gadgets[ 32 ] = g;
  887.  
  888.             ng.ng_LeftEdge        =    384;
  889.             ng.ng_GadgetText      =    "F";
  890.             ng.ng_GadgetID        =    GD_ACTIVEWINDOW_F;
  891.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  892.  
  893.             check_flag = (Flag2B & ACTIVEWINDOW_F_FLAG) ? TRUE : FALSE;
  894.  
  895.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  896.                             check_flag, TAG_DONE );
  897.  
  898.             Gadgets[ 33 ] = g;
  899.  
  900.             ng.ng_LeftEdge        =    356;
  901.             ng.ng_TopEdge         =    113;
  902.             ng.ng_GadgetText      =    "INACTIVEWINDOW";
  903.             ng.ng_GadgetID        =    GD_INACTIVEWINDOW;
  904.             ng.ng_Flags           =    PLACETEXT_LEFT;
  905.  
  906.             check_flag = (Flag2B & INACTIVEWINDOW_FLAG) ? TRUE : FALSE;
  907.  
  908.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  909.                             check_flag, TAG_DONE );
  910.  
  911.             Gadgets[ 34 ] = g;
  912.  
  913.             ng.ng_LeftEdge        =    384;
  914.             ng.ng_GadgetText      =    "F";
  915.             ng.ng_GadgetID        =    GD_INACTIVEWINDOW_F;
  916.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  917.  
  918.             check_flag = (Flag2B & INACTIVEWINDOW_F_FLAG) ? TRUE : FALSE;
  919.  
  920.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  921.                             check_flag, TAG_DONE );
  922.  
  923.             Gadgets[ 35 ] = g;
  924.  
  925.             ng.ng_LeftEdge        =    356;
  926.             ng.ng_TopEdge         =    125;
  927.             ng.ng_GadgetText      =    "CHANGEWINDOW";
  928.             ng.ng_GadgetID        =    GD_CHANGEWINDOW;
  929.             ng.ng_Flags           =    PLACETEXT_LEFT;
  930.  
  931.             check_flag = (Flag2B & CHANGEWINDOW_FLAG) ? TRUE : FALSE;
  932.  
  933.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  934.                             check_flag, TAG_DONE );
  935.  
  936.             Gadgets[ 36 ] = g;
  937.  
  938.             ng.ng_LeftEdge        =    384;
  939.             ng.ng_GadgetText      =    "F";
  940.             ng.ng_GadgetID        =    GD_CHANGEWINDOW_F;
  941.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  942.  
  943.             check_flag = (Flag2B & CHANGEWINDOW_F_FLAG) ? TRUE : FALSE;
  944.  
  945.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  946.                             check_flag, TAG_DONE );
  947.  
  948.             Gadgets[ 37 ] = g;
  949.  
  950.             ng.ng_LeftEdge        =    356;
  951.             ng.ng_TopEdge         =    137;
  952.             ng.ng_GadgetText      =    "REFRESHWINDOW";
  953.             ng.ng_GadgetID        =    GD_REFRESHWINDOW;
  954.             ng.ng_Flags           =    PLACETEXT_LEFT;
  955.  
  956.             check_flag = (Flag2B & REFRESHWINDOW_FLAG) ? TRUE : FALSE;
  957.  
  958.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  959.                             check_flag, TAG_DONE );
  960.  
  961.             Gadgets[ 38 ] = g;
  962.  
  963.             ng.ng_LeftEdge        =    384;
  964.             ng.ng_GadgetText      =    "F";
  965.             ng.ng_GadgetID        =    GD_REFRESHWINDOW_F;
  966.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  967.  
  968.             check_flag = (Flag2B & REFRESHWINDOW_F_FLAG) ? TRUE : FALSE;
  969.  
  970.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  971.                             check_flag, TAG_DONE );
  972.  
  973.             Gadgets[ 39 ] = g;
  974.  
  975.             ng.ng_LeftEdge        =    356;
  976.             ng.ng_TopEdge         =    157;
  977.             ng.ng_GadgetText      =    "DISKINSERTED";
  978.             ng.ng_GadgetID        =    GD_DISKINSERTED;
  979.             ng.ng_Flags           =    PLACETEXT_LEFT;
  980.  
  981.             check_flag = (Flag2B & DISKINSERTED_FLAG) ? TRUE : FALSE;
  982.  
  983.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  984.                             check_flag, TAG_DONE );
  985.  
  986.             Gadgets[ 40 ] = g;
  987.  
  988.             ng.ng_LeftEdge        =    384;
  989.             ng.ng_GadgetText      =    "F";
  990.             ng.ng_GadgetID        =    GD_DISKINSERTED_F;
  991.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  992.  
  993.             check_flag = (Flag2B & DISKINSERTED_F_FLAG) ? TRUE : FALSE;
  994.  
  995.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  996.                             check_flag, TAG_DONE );
  997.  
  998.             Gadgets[ 41 ] = g;
  999.  
  1000.             ng.ng_LeftEdge        =    356;
  1001.             ng.ng_TopEdge         =    169;
  1002.             ng.ng_GadgetText      =    "DISKREMOVED";
  1003.             ng.ng_GadgetID        =    GD_DISKREMOVED;
  1004.             ng.ng_Flags           =    PLACETEXT_LEFT;
  1005.  
  1006.             check_flag = (Flag2B & DISKREMOVED_FLAG) ? TRUE : FALSE;
  1007.  
  1008.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1009.                             check_flag, TAG_DONE );
  1010.  
  1011.             Gadgets[ 42 ] = g;
  1012.  
  1013.             ng.ng_LeftEdge        =    384;
  1014.             ng.ng_GadgetText      =    "F";
  1015.             ng.ng_GadgetID        =    GD_DISKREMOVED_F;
  1016.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  1017.  
  1018.             check_flag = (Flag2B & DISKREMOVED_F_FLAG) ? TRUE : FALSE;
  1019.  
  1020.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1021.                             check_flag, TAG_DONE );
  1022.  
  1023.             Gadgets[ 43 ] = g;
  1024.  
  1025.             ng.ng_LeftEdge        =    541;
  1026.             ng.ng_TopEdge         =    65;
  1027.             ng.ng_GadgetText      =    "NEWPREFS";
  1028.             ng.ng_GadgetID        =    GD_NEWPREFS;
  1029.             ng.ng_Flags           =    PLACETEXT_LEFT;
  1030.  
  1031.             check_flag = (Flag2B & NEWPREFS_FLAG) ? TRUE : FALSE;
  1032.  
  1033.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1034.                             check_flag, TAG_DONE );
  1035.  
  1036.             Gadgets[ 44 ] = g;
  1037.  
  1038.             ng.ng_LeftEdge        =    569;
  1039.             ng.ng_GadgetText      =    "F";
  1040.             ng.ng_GadgetID        =    GD_NEWPREFS_F;
  1041.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  1042.  
  1043.             check_flag = (Flag2B & NEWPREFS_F_FLAG) ? TRUE : FALSE;
  1044.  
  1045.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1046.                             check_flag, TAG_DONE );
  1047.  
  1048.             Gadgets[ 45 ] = g;
  1049.  
  1050.             ng.ng_LeftEdge        =    541;
  1051.             ng.ng_TopEdge         =    85;
  1052.             ng.ng_GadgetText      =    "INTUITICKS";
  1053.             ng.ng_GadgetID        =    GD_INTUITICKS;
  1054.             ng.ng_Flags           =    PLACETEXT_LEFT;
  1055.  
  1056.             check_flag = (Flag2B & INTUITICKS_FLAG) ? TRUE : FALSE;
  1057.  
  1058.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1059.                             check_flag, TAG_DONE );
  1060.  
  1061.             Gadgets[ 46 ] = g;
  1062.  
  1063.             ng.ng_LeftEdge        =    569;
  1064.             ng.ng_GadgetText      =    "F";
  1065.             ng.ng_GadgetID        =    GD_INTUITICKS_F;
  1066.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  1067.  
  1068.             check_flag = (Flag2B & INTUITICKS_F_FLAG) ? TRUE : FALSE;
  1069.  
  1070.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1071.                             check_flag, TAG_DONE );
  1072.  
  1073.             Gadgets[ 47 ] = g;
  1074.  
  1075.             ng.ng_LeftEdge        =    541;
  1076.             ng.ng_TopEdge         =    105;
  1077.             ng.ng_GadgetText      =    "IDCMPUPDATE";
  1078.             ng.ng_GadgetID        =    GD_IDCMPUPDATE;
  1079.             ng.ng_Flags           =    PLACETEXT_LEFT;
  1080.  
  1081.             check_flag = (Flag2B & IDCMPUPDATE_FLAG) ? TRUE : FALSE;
  1082.  
  1083.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1084.                             check_flag, TAG_DONE );
  1085.  
  1086.             Gadgets[ 48 ] = g;
  1087.  
  1088.             ng.ng_LeftEdge        =    569;
  1089.             ng.ng_GadgetText      =    "F";
  1090.             ng.ng_GadgetID        =    GD_IDCMPUPDATE_F;
  1091.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  1092.  
  1093.             check_flag = (Flag2B & IDCMPUPDATE_F_FLAG) ? TRUE : FALSE;
  1094.  
  1095.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1096.                             check_flag, TAG_DONE );
  1097.  
  1098.             Gadgets[ 49 ] = g;
  1099.  
  1100.             ng.ng_LeftEdge        =    541;
  1101.             ng.ng_TopEdge         =    190;
  1102.             ng.ng_GadgetText      =    "LONELYMESSAGE";
  1103.             ng.ng_GadgetID        =    GD_LONELYMESSAGE;
  1104.             ng.ng_Flags           =    PLACETEXT_LEFT;
  1105.  
  1106.             check_flag = (Flag2B & LONELYMESSAGE_FLAG) ? TRUE : FALSE;
  1107.  
  1108.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1109.                             check_flag, TAG_DONE );
  1110.  
  1111.             Gadgets[ 50 ] = g;
  1112.  
  1113.             ng.ng_LeftEdge        =    569;
  1114.             ng.ng_GadgetText      =    "F";
  1115.             ng.ng_GadgetID        =    GD_LONELYMESSAGE_F;
  1116.             ng.ng_Flags           =    PLACETEXT_RIGHT;
  1117.  
  1118.             check_flag = (Flag2B & LONELYMESSAGE_F_FLAG) ? TRUE : FALSE;
  1119.  
  1120.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1121.                             check_flag, TAG_DONE );
  1122.  
  1123.             Gadgets[ 51 ] = g;
  1124.  
  1125.             ng.ng_LeftEdge        =    80;
  1126.             ng.ng_TopEdge         =    222;
  1127.             ng.ng_Width           =    100;
  1128.             ng.ng_Height          =    18;
  1129.             ng.ng_GadgetText      =    "QUIT";
  1130.             ng.ng_TextAttr        =    &topaz8;
  1131.             ng.ng_GadgetID        =    GD_QUIT2;
  1132.             ng.ng_Flags           =    PLACETEXT_IN;
  1133.  
  1134.             g = CreateGadget( BUTTON_KIND, g, &ng, TAG_DONE );
  1135.  
  1136.             Gadgets[ 52 ] = g;
  1137.  
  1138.             ng.ng_LeftEdge        =    460;
  1139.             ng.ng_GadgetText      =    "GO ON";
  1140.             ng.ng_GadgetID        =    GD_GO_ON2;
  1141.  
  1142.             g = CreateGadget( BUTTON_KIND, g, &ng, TAG_DONE );
  1143.  
  1144.             Gadgets[ 53 ] = g;
  1145.  
  1146.             ng.ng_LeftEdge        =    324;
  1147.             ng.ng_GadgetText      =    "STEP BACK";
  1148.             ng.ng_GadgetID        =    GD_STEP_BACK2;
  1149.  
  1150.             g = CreateGadget( BUTTON_KIND, g, &ng, TAG_DONE );
  1151.  
  1152.             Gadgets[ 54 ] = g;
  1153.  
  1154.             if ( NOT g )
  1155.                 return( 4l );
  1156.  
  1157.             AddGList( Wnd, GList, 0, -1, NULL );
  1158.  
  1159.             PrintIText( Wnd->RPort, IText2, 0L, 0L );
  1160.  
  1161.             break;
  1162.  
  1163.         /*  making window #2 */
  1164.         case 2 :
  1165.  
  1166.             if ( NOT( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
  1167.                 return( 2l );
  1168.  
  1169.             if ( NOT( g = CreateContext( &GList )))
  1170.                 return( 3l );
  1171.  
  1172.             ng.ng_LeftEdge        =    44;
  1173.             ng.ng_TopEdge         =    53;
  1174.             ng.ng_Width           =    208;
  1175.             ng.ng_Height          =    16;
  1176.             ng.ng_GadgetText      =    "top-level function";
  1177.             ng.ng_TextAttr        =    &topaz8;
  1178.             ng.ng_GadgetID        =    GD_TopLevelName;
  1179.             ng.ng_Flags           =    PLACETEXT_ABOVE;
  1180.             ng.ng_VisualInfo      =    VisualInfo;
  1181.  
  1182.             g = CreateGadget( STRING_KIND, g, &ng, GTST_String, TOP_LEVEL_NAME,
  1183.                           GTST_MaxChars, 40, TAG_DONE );
  1184.  
  1185.             TOP_LEVEL_BUF = ((struct StringInfo *) g->SpecialInfo)->Buffer;
  1186.  
  1187.             Gadgets[ 0 ] = g;
  1188.  
  1189.             ng.ng_LeftEdge        =    36;
  1190.             ng.ng_TopEdge         =    92;
  1191.             ng.ng_Width           =    146;
  1192.             ng.ng_GadgetText      =    "prefix";
  1193.             ng.ng_GadgetID        =    GD_Prefix;
  1194.  
  1195.             g = CreateGadget( STRING_KIND, g, &ng, GTST_String, PREFIX_NAME,
  1196.                     GTST_MaxChars, 20, TAG_DONE );
  1197.  
  1198.             PREFIX_BUF = ((struct StringInfo *) g->SpecialInfo)->Buffer;
  1199.  
  1200.             Gadgets[ 1 ] = g;
  1201.  
  1202.             ng.ng_LeftEdge        =    194;
  1203.             ng.ng_TopEdge         =    92;
  1204.             ng.ng_GadgetText      =    "suffix";
  1205.             ng.ng_GadgetID        =    GD_Suffix;
  1206.  
  1207.             g = CreateGadget( STRING_KIND, g, &ng, GTST_String, SUFFIX_NAME,
  1208.                     GTST_MaxChars, 20, TAG_DONE );
  1209.  
  1210.             SUFFIX_BUF = ((struct StringInfo *) g->SpecialInfo)->Buffer;
  1211.  
  1212.             Gadgets[ 2 ] = g;
  1213.  
  1214.             ng.ng_LeftEdge        =    266;
  1215.             ng.ng_TopEdge         =    137;
  1216.             ng.ng_GadgetText      =    "function skeletons";
  1217.             ng.ng_GadgetID        =    GD_Skeletons;
  1218.             ng.ng_Flags           =    PLACETEXT_LEFT;
  1219.  
  1220.             check_flag = (Flag3 & Skeletons_FLAG) ? TRUE : FALSE;
  1221.  
  1222.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1223.                             check_flag, TAG_DONE );
  1224.  
  1225.             Gadgets[ 3 ] = g;
  1226.  
  1227.             ng.ng_TopEdge         =    157;
  1228.             ng.ng_GadgetText      =    "function prototypes";
  1229.             ng.ng_GadgetID        =    GD_Prototypes;
  1230.  
  1231.             check_flag = (Flag3 & Prototypes_FLAG) ? TRUE : FALSE;
  1232.  
  1233.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1234.                             check_flag, TAG_DONE );
  1235.  
  1236.             Gadgets[ 4 ] = g;
  1237.  
  1238.             ng.ng_TopEdge         =    177;
  1239.             ng.ng_GadgetText      =    "gadtools.library";
  1240.             ng.ng_GadgetID        =    GD_Prototypes;
  1241.  
  1242.             check_flag = (Flag3 & gadtools_FLAG) ? TRUE : FALSE;
  1243.  
  1244.             g = CreateGadget( CHECKBOX_KIND, g, &ng, GTCB_Checked,
  1245.                             check_flag, TAG_DONE );
  1246.  
  1247.             Gadgets[ 5 ] = g;
  1248.  
  1249.             ng.ng_LeftEdge        =    390;
  1250.             ng.ng_TopEdge         =    53;
  1251.             ng.ng_Width           =    215;
  1252.             ng.ng_Height          =    14;
  1253.             ng.ng_GadgetText      =    "  waiting";
  1254.             ng.ng_GadgetID        =    GD_WaitingMode;
  1255.             ng.ng_Flags           =    PLACETEXT_ABOVE;
  1256.  
  1257.             switch (WaitingMode_FLAG) {
  1258.                 case 0:
  1259.                     temp_ptr = WaitingModeLabels0;
  1260.                     WaitingMode_START = 0;
  1261.                     break;
  1262.                 case 1:
  1263.                     temp_ptr = WaitingModeLabels1;
  1264.                     WaitingMode_START = 1;
  1265.                     break;
  1266.             }
  1267.  
  1268.             g = CreateGadget( CYCLE_KIND, g, &ng, GTCY_Labels, temp_ptr, TAG_DONE );
  1269.  
  1270.             Gadgets[ 6 ] = g;
  1271.  
  1272.             ng.ng_TopEdge         =    98;
  1273.             ng.ng_GadgetText      =    "  variables";
  1274.             ng.ng_GadgetID        =    GD_Variables;
  1275.  
  1276.             switch (Variables_FLAG) {
  1277.                 case 0:
  1278.                     temp_ptr = VariablesLabels0;
  1279.                     Variables_START = 0;
  1280.                     break;
  1281.                 case 1:
  1282.                     temp_ptr = VariablesLabels1;
  1283.                     Variables_START = 1;
  1284.                     break;
  1285.             }
  1286.  
  1287.             g = CreateGadget( CYCLE_KIND, g, &ng, GTCY_Labels, temp_ptr, TAG_DONE );
  1288.  
  1289.             Gadgets[ 7 ] = g;
  1290.  
  1291.             ng.ng_TopEdge         =    143;
  1292.             ng.ng_GadgetText      =    "  comments";
  1293.             ng.ng_GadgetID        =    GD_Comments;
  1294.  
  1295.             switch (Comments_FLAG) {
  1296.                 case 0:
  1297.                     temp_ptr = CommentsLabels0;
  1298.                     Comments_START = 0;
  1299.                     break;
  1300.                 case 1:
  1301.                     temp_ptr = CommentsLabels1;
  1302.                     Comments_START = 1;
  1303.                     break;
  1304.                 case 2:
  1305.                     temp_ptr = CommentsLabels2;
  1306.                     Comments_START = 2;
  1307.                     break;
  1308.             }
  1309.  
  1310.             g = CreateGadget( CYCLE_KIND, g, &ng, GTCY_Labels, temp_ptr, TAG_DONE );
  1311.  
  1312.             Gadgets[ 8 ] = g;
  1313.  
  1314.             ng.ng_TopEdge         =    188;
  1315.             ng.ng_GadgetText      =    "  fill-ins";
  1316.             ng.ng_GadgetID        =    GD_FillIns;
  1317.  
  1318.             switch (FillIns_FLAG) {
  1319.                 case 0:
  1320.                     temp_ptr = FillInsLabels0;
  1321.                     FillIns_START = 0;
  1322.                     break;
  1323.                 case 1:
  1324.                     temp_ptr = FillInsLabels1;
  1325.                     FillIns_START = 1;
  1326.                     break;
  1327.                 case 2:
  1328.                     temp_ptr = FillInsLabels2;
  1329.                     FillIns_START = 2;
  1330.                     break;
  1331.                 case 3:
  1332.                     temp_ptr = FillInsLabels3;
  1333.                     FillIns_START = 3;
  1334.                     break;
  1335.             }
  1336.  
  1337.             g = CreateGadget( CYCLE_KIND, g, &ng, GTCY_Labels, temp_ptr, TAG_DONE );
  1338.  
  1339.             Gadgets[ 9 ] = g;
  1340.  
  1341.             ng.ng_LeftEdge        =    80;
  1342.             ng.ng_TopEdge         =    222;
  1343.             ng.ng_Width           =    100;
  1344.             ng.ng_Height          =    18;
  1345.             ng.ng_GadgetText      =    "QUIT";
  1346.             ng.ng_TextAttr        =    &topaz8;
  1347.             ng.ng_GadgetID        =    GD_QUIT3;
  1348.             ng.ng_Flags           =    PLACETEXT_IN;
  1349.  
  1350.             g = CreateGadget( BUTTON_KIND, g, &ng, TAG_DONE );
  1351.  
  1352.             Gadgets[ 10 ] = g;
  1353.  
  1354.             ng.ng_LeftEdge        =    460;
  1355.             ng.ng_GadgetText      =    "WRITE C";
  1356.             ng.ng_GadgetID        =    GD_WRITE_C;
  1357.  
  1358.             g = CreateGadget( BUTTON_KIND, g, &ng, TAG_DONE );
  1359.  
  1360.             Gadgets[ 11 ] = g;
  1361.  
  1362.             ng.ng_LeftEdge        =    324;
  1363.             ng.ng_GadgetText      =    "STEP BACK";
  1364.             ng.ng_GadgetID        =    GD_STEP_BACK3;
  1365.  
  1366.             g = CreateGadget( BUTTON_KIND, g, &ng, TAG_DONE );
  1367.  
  1368.             Gadgets[ 12 ] = g;
  1369.  
  1370.             if ( NOT g )
  1371.                 return( 4l );
  1372.  
  1373.             AddGList( Wnd, GList, 0, -1, NULL );
  1374.             
  1375.             Gadgets[ 13 ] = 0;
  1376.  
  1377.             PrintIText( Wnd->RPort, IText3, 0L, 0L );
  1378.  
  1379.             break;
  1380.     }
  1381.  
  1382.     RefreshGadgets( GList, Wnd, NULL );
  1383.     
  1384.     GT_RefreshWindow( Wnd, NULL );
  1385. }
  1386.  
  1387.  
  1388. void CleanStuff( void )
  1389. {
  1390.     if ( Wnd )
  1391.         CloseWindow( Wnd );
  1392.  
  1393.     if ( GList )
  1394.         FreeGadgets( GList );
  1395.  
  1396.     if ( VisualInfo )
  1397.         FreeVisualInfo( VisualInfo );
  1398.  
  1399.     if ( Scr )
  1400.         CloseScreen( Scr );
  1401. }
  1402.  
  1403.